Footprint tracking of contacts

ABSTRACT

A footprints device includes an input module and an output module. The input module receives a request for footprint data. The footprint data relates to names of users. The output module sends the footprint data to an address book. The footprint data is marked to indicate when at least one of the names of the users is a contact of the address book.

BACKGROUND

A user may have access to a Yellow Pages in which information regardingbusiness entities may be found. The user may also have an electronicaddress book which has access to the Yellow Pages. The user may performa search of the business entities to find one that meets therequirements of the user. However, the user may also want arecommendation. For example, the recommendation relate to a reliabilityof the product, a reliability of the company, a general cost analysis ofthe product among companies, etc. The user may be limited to readingcomments from unknown people, hearing from word of mouth, merely makinga decision oneself, etc.

SUMMARY OF THE INVENTION

The exemplary embodiments of the present invention describe a footprintsdevice. The footprints device comprises an input module and an outputmodule. The input module receives a request for footprint data. Thefootprint data relates to names of users. The output module sends thefootprint data to an address book. The footprint data is marked toindicate when at least one of the names of the users is a contact of theaddress book.

DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a footprints device according to an exemplary embodiment.

FIG. 2 shows a method for providing footprint data to an address bookaccording to an exemplary embodiment.

FIG. 3 shows a method for receiving footprint data at an address bookaccording to an exemplary embodiment.

DETAILED DESCRIPTION

The exemplary embodiments may be further understood with reference tothe following description and the appended drawings, wherein likeelements are referred to with the same reference numerals. The exemplaryembodiments describe a footprint tracking system and method forproviding footprint tracking data related to contacts of an addressbook. Specifically, the footprint tracking system may be configured on aserver side to work in conjunction with the address book to provide thefootprint tracking data. The footprint tracking system, the footprinttracking data, the address book, and related methods will be discussedin further detail below.

FIG. 1 shows a footprints device 100 according to an exemplaryembodiment. The footprints device 100 may be configured to trackfootprints of users who visit a web page hosted at a server in which thefootprints device 100 is disposed. The footprints device 100 may includea processor 105, a memory 110, a hosting module 115, an input module120, and an output module 125.

The footprints device 100 may be embodied in a variety ofconfigurations. In a first exemplary embodiment, the footprints device100 may be a software program of a server, in particular a web pagehosting server. In a second exemplary embodiment, the footprints device100 may be modular and incorporated with the web page hosting server.For example, the modularity may allow the footprints device 100 to beconnected to the server externally via a universal serial bus (USB)port. In another example, the modularity may allow the footprints device100 to be connected to the server internally on a mother board of theserver.

The processor 105 may control the functionalities performed by thefootprints device 100. For example, as will be described below, theprocessor 105 may update a footprint database of users who have visitedthe web page hosted by the server. The memory 110 may serve as a storageunit for the footprints device 100. For example, the footprint databasemay be stored on the memory 100. As discussed above, the footprintsdevice 100 may be incorporated with a server of a web page. In anotherexemplary embodiment, the footprints device 100 may be configured as theserver of the web page itself. Thus, the hosting module 115 may beconfigured to host the web page. The input module 120 may receiverequests from outside sources such as users of address books that areeither a personalized Yellow Pages (PYP) with access to search a YellowPages or address books that are configured to perform a search of theYellow Pages. Thus, the footprints device 100 may receive a request viathe input module 120 for the footprint database. The output module 125may send data to the outside sources such as the users of the addressbooks. Thus, the footprints device 100 may forward the footprintdatabase via the output module 120 when the request is received.

According to the exemplary embodiments, the footprints device 100 mayreceive a request for the web page hosted thereby via the input module120. For example, the request may be sent from an address book thatperformed a search. A result of the search may include the web pagehosted by the footprints device 100. The footprints device 100 maysubsequently forward a current footprint database stored in the memory110 via the output module 125 to the address book. The current footprintdatabase may include information about users who have visited the webpage and have permitted tracking thereof. The range of informationrelating to the users may include merely a name to a full disclosure ofthe user (e.g., all the information included in the address book of theuser).

The address book may be configured to cross reference the currentfootprint database with the contacts included in the address book. Thus,if a contact in the address book is included in the current footprintdatabase, the address book may determine with which search results thefootprints are associated. The search result with associated footprintsmay be indicated with a marking so that the user is aware thatfootprints are associated therewith. The address book may further enablethe user to view the users who left footprints with a particular searchresult. In this manner, the user may know that contacts of the addressbook have visited the web page and have recommended the company.

If the user of the address book selects to visit a particular web pagethat utilizes the footprints device 100, the footprints device 100 mayrequest to create a footprint for the user so that subsequent users whoperform the search may be aware that the user has visited the web pageand recommended it. The footprints device 100 may be configured for avariety of options regarding leaving the footprint.

In one exemplary embodiment, an implicit footprint may be created. Theimplicit footprint may enable contacts in the user's address book tobecome aware that the user has visited the web page. For example, theaddress book user selects to use the implicit footprint. The addressbook user visits the web page hosted by the footprints device 100. Acontact of the address book may subsequently perform a search in whichthe web page hosted by the footprints device 100 is a result. Since acontact has performed the search, the footprint database may note thatthe address book user selected the implicit footprint, thereby thefootprint may be tracked by the contact. Accordingly, non-contacts willbe unaware that the address book user has visited the webpage/recommended it.

In a second exemplary embodiment, an explicit footprint may be created.The explicit footprint may enable anyone to become aware that the userhas visited the web page. Thus, the footprint database may note that theaddress book user has selected the explicit footprint and alwaysincludes the address book user's footprint when the web page hosted bythe footprints device 100 is a result of a search performed by bothcontacts and non-contacts of the address book.

In a third exemplary embodiment, an invisible footprint may be created.The invisible footprint may enable no searcher to become aware that theaddress book user has visited the web page. The footprint database maytrack that the address book user has visited the web page but preventsthe address book user's footprint from being visible. It should be notedthat the invisible footprint may still be used to remind the addressbook user that a prior visit was made the web page.

The footprint creation may also include a variety of differentconfigurations. In a first example, the user of the address book mayindicate to always create the selected footprint. In a second example,the user of the address book may indicate to never create a footprint.In a third example, the user of the address book may choose to create afootprint ad hoc for each web page visited.

FIG. 2 shows a method 200 for providing footprint data to an addressbook according to an exemplary embodiment. The method 200 may relate tothe footprints device 100. That is, the method 200 may be from theviewpoint of the footprints device 100. The method 200 will be describedwith reference to the footprints device 100 of FIG. 1.

In step 205, the footprints device 100 receives via the input module 120a request for the web page hosted thereby via the hosting module 115.The request for the web page may to send the web page to an outsidesource to be displayed. The request may also be to list the web pagefrom a search performed by the outside source. In step 210, thefootprints device 100 forwards the current footprint database stored inthe memory 110 via the output module 125 to the requesting source.

In step 215, a determination is made by the footprints device 100 if therequest was to display the web page to the outside source and not merelylist the web page from a search. If the determination indicates that theweb page was merely listed, then the method 200 continues to step 230where the statistics of the footprint database is updated. The update tothe statistics of the footprint database may include, for example, acounter that indicates a number of times the web page was a result froma search performed.

If the determination indicates that the web page was forwarded and/ordisplayed to the outside source, the method 200 continues to step 220.In step 220, the footprints device 100 determines whether auto trackingof the outside source has been enabled. As discussed above, the trackingof the footprint of the outside source may be automatically performedwhen the user selects that option. In this manner, the user is notrequired to indicate a selection each time a web page is visited.

If the determination indicates that the auto tracking of the footprintfor the outside source is automatic, the method 200 continues to step235 where the footprints device 100 updates the footprint database. Theupdate in this case may include the statistical updates performed instep 230 (e.g., increase the counter). The update may further includenoting the user of the outside source (e.g., address book). The addressbook may forward information relating to the user of the outside source(e.g., name, address, telephone number, etc.).

If the determination indicates that the auto tracking of the footprintof the outside source is not automatic, the method 200 continues to step225 where a determination is made by the footprints device 100 whetherfootprint tracking is enabled. As discussed above, the user of theoutside source may select to not have tracking enabled. If thedetermination indicates no tracking, the method 200 continues to step230 where the statistics stored in the footprint database is updated. Ifthe determination indicates that tracking is enabled, the method 200continues to step 235 where the footprint database is updated.

It should be noted that the method 200 may include additional steps. Forexample, after step 220 or 225 where the determination indicates thatsome form of tracking is enabled, a further determination may be made bythe footprints device 100 whether the enabled tracking is to create animplicit footprint, an explicit footprint, or an invisible footprint.Thus, when the type of footprint is determined, the footprints databasemay be updated accordingly so subsequent uses of the footprints databasemay indicate whether to list the user of the outside source.

FIG. 3 shows a method 300 for receiving footprint data at an addressbook according to an exemplary embodiment. The method 300 may relate tothe address book side in which the footprints device 100 works inconjunction. Furthermore, because the address may be configured toperform searches that may include more than one result, the address bookmay work in conjunction with a corresponding number of footprintsdevices 100. The method 300 will be described with reference to thefootprints device 100 of FIG. 1.

In step 305, a user of the address book inputs a search parameter forthe Yellow Pages resulting in the address book sending a request for thesearch. The footprints device 100 may receive the request and determineif the search parameter matches predetermined parameters. Thus, thefootprints device 100 may determine if a result is to be given for thesearch. In another exemplary embodiment, the address book may query thedifferent hosting modules 115 of the footprints devices 100 to determineif the web page hosted thereby should be a result.

In step 310, the footprints devices 100 which host a web page thatmatches the search parameter send the current footprint database via theoutput module 125 and is received by the address book. As discussedabove, multiple current footprint databases may be received during thisstep according to the number of web pages are returned as a result ofthe search.

In step 315, the address book determines if any information included inthe current footprint databases are a contact that is also included inthe address book. It should be noted that this step assumes that theuser of the address book has selected to only retrieve footprinttracking of people known to the user. In another exemplary embodiment,the user may select to enable all footprints to be retrieved whether acontact or not included in the address book. If no contact is includedamong the footprint databases, the method 300 continues to step 320where the address book may display a message indicating no commonaltieswere found between the footprint databases and the address book. Themessage may be shown in a predetermined area of the user interface ofthe address book or may be shown as a pop up window.

If the determination indicates that at least one contact is includedamong the footprint databases, the method 300 continues to step 325where the corresponding results may be marked to indicate that there isfootprint tracking associated therewith. In step 330, a determination ismade by the address book whether the contacts are to be displayed for agiven search result. For example, the user may have selected an optionto automatically display the contacts. The address book may subsequentlylist the contacts for the given search result. In another example, theuser may manually select to display the contacts such as clicking on themarking. If the address book determines that the user has selected todisplay the contacts, the method 300 continues to step 335 where thecontacts are displayed.

After step 330 or 335 where the footprint tracking is performed or afterstep 320 where the message is displayed, the method 300 may continue tostep 340 where a determination is made by the address book to create afootprint. The determination may result after the user of the addressbook is forwarded to a web page of one of the results of the search. Theaddress book may determine the type of footprint to be created (e.g.,implicit, explicit, or invisible). If a footprint is to be created, theaddress book may package a data packet to be sent in step 345 to theappropriate footprints device 100.

The exemplary embodiments enable a tracking of footprints. A user of anaddress book may learn of contacts that have visited web pages that havebeen returned from a search that is performed by the user. In thismanner, a recommendation system may be set up for the user of theaddress book. The user of the address book may automatically be informedof whether a particular web page is recommended to be used by knownassociates and may no longer be required to depend upon randomrecommendations.

The exemplary embodiments may be configured for various types oftracking. In a first example, a type of footprint may be selected by theuser to be used for the tracking thereof. An implicit footprint mayenable sharing of tracking with only contacts of the address book. Anexplicit footprint may enable sharing of tracking with all users. Aninvisible footprint may enable a tracking but does not enable otherusers, both contacts and non-contacts, from being able to track. In asecond example, the tracking may be performed according to the user'sparameters. The tracking may be done automatically so all web pagesvisited are tracked. The tracking may never be done so no tracking isenabled. The tracking may be done ad hoc so each web page visitedprompts authentication for tracking.

Those skilled in the art will understand that the above describedexemplary embodiments may be implemented in any number of manners,including as a separate software module, as a combination of hardwareand software, etc. For example, the footprints device 100 may beembodied as a program containing lines of code that, when compiled, maybe executed on the processor 105.

It will be apparent to those skilled in the art that variousmodifications may be made in the present invention, without departingfrom the spirit or scope of the invention. Thus, it is intended that thepresent invention cover the modifications and variations of thisinvention provided they come within the scope of the appended claims andtheir equivalents.

What is claimed is:
 1. A footprints device, comprising: a non-transitorymemory that stores footprint data, the footprint data includinginformation related to a user that performed a search having apredetermined web page as a search result; an input module that receivesa request for the footprint data, wherein the footprint data includes amarking to indicate when the user is a contact of an address book; andan output module that sends the footprint data including the marking inresponse to the request, wherein the input module receives a command toupdate the footprint data to track a further user of the address book,wherein the command indicates one of an enabled tracking and a disabledtracking.
 2. The footprints device of claim 1, wherein the search is forbusiness entities.
 3. The footprints device of claim 1, wherein theinformation related to the user includes a name of the user and the nameof the user is displayed on the address book based on the marking in thefootprint data.
 4. The footprints device of claim 1, wherein the outputmodule sends a request to update the footprint data to track a user ofthe address book.
 5. The footprints device of claim 1, wherein thecommand indicates a type of footprint to be associated with the furtheruser of the address book.
 6. The footprints device of claim 5, whereinthe type includes one of an implicit footprint, an explicit footprint,and an invisible footprint.
 7. The footprints device of claim 1,wherein, when the command indicates a disabled tracking, the footprintdata is statistically updated.
 8. A non-transitory computer readablestorage medium including a set of instructions executable by a processorto perform a method, the method comprising: receiving a request forfootprint data, the footprint data including information related to auser that performed a search having a predetermined web page as a searchresult, wherein the footprint data includes a marking to indicate whenthe user is a contact of an address book; sending the footprint dataincluding the marking in response to the request; and receiving acommand to update the footprint data to track a further user of theaddress book, wherein the command indicates one of an enabled trackingand a disabled tracking.
 9. The non-transitory computer readable storagemedium of claim 8, wherein the information related to the user includesa name of the user and the name of the user is displayed on the addressbook based on the marking in the footprint data.
 10. The non-transitorycomputer readable storage medium of claim 8, wherein the method furthercomprises: sending a request to update the footprint data to track afurther user of the address book.
 11. The non-transitory computerreadable storage medium of claim 8, wherein the command indicates a typeof footprint to be associated with the further user of the address book.12. The non-transitory computer readable storage medium of claim 11,wherein the type includes one of an implicit footprint, an explicitfootprint, and an invisible footprint.
 13. The non-transitory computerreadable storage medium of claim 8, wherein, when the command indicatesa disabled tracking, the footprint data is statistically updated.